1. Field of Invention
This invention relates generally to the development and maintenance of enterprise client/server systems and, more particularly, to a method and system for seamlessly updating software in 24 by 7 environments with minimal impact to current real-time processing.
2. Description of Related Art
System downtime in real-time client/server environments leads to service interruptions that are no longer acceptable when customers expect their services to be up and running 24 hours a day, 7 days a week. However, software requires frequent updating to add features, fix problems that are found, and generally improve the product offered to customers. During updates of the software modules, the production system that the customers are using must often be shut down, thus interrupting service. An interruption in service may also occur when ensuring that client components match with the correct version of the enterprise server component.
Correct versions are essential so that each piece of software works with each other. During the downtime, testing is done to ensure that the new client and server codes in the software work together on the production system. Bringing up the production system with incompatible code will result in a system outage while customers are trying to use the system. This can be hard to recover from, taking a significant amount of time to debug and resolve. The longer the system is unavailable due to testing time or other reasons, the more the customer dissatisfaction. Because of the effect of downtime to these 24 by 7 enterprise client/server systems, downtime is scheduled for low-use times such as the middle of the night. This was a reasonable solution before the use of the Internet. Systems are now used by customers all over the world in different time zones, eliminating the traditional overnight low time.
Several methods or systems related to development and maintenance of software systems are available. In U.S. Pat. No. 6,202,207 (Donohue) a method and mechanism for synchronized updating of interoperating software is discussed. In U.S. Pat. No. 6,199,204 (Donohue) a method and mechanism for automatically updating computer programs is presented. In U.S. Pat. No. 6,167,567 (Chiles et al.) a technique for automatically updating software programs is presented. In U.S. Pat. No. 6,151,708 (Pedrizetti et al.) a method of comparing software updates in client/server environments is presented. In U.S. Pat. No. 5,835,911 (Nakagawa et al.) a method and system for the distribution and maintenance of software is presented.
A new, simple, easy, and safe method to do updates and maintenance is needed which will not impact a 24 by 7 operation by causing significant downtime. This invention provides such a system and method.